package com.fly.springbootTemplate.service.Impl;

import com.fly.springbootTemplate.service.SysCodeService;
import org.springframework.transaction.annotation.Transactional;

import java.util.Collections;
import java.util.List;

public class SysCodeServiceImpl implements SysCodeService {
    @Override
//    @DataSource(DataSourceEnum.POST)
    @Transactional
    public String getSysCode(String type) {
//        Map<String, Object> con = new HashMap<>();
//        con.put("type", type);
//        List<SysCode> seqCodeRuleList = sysCodeMapper.selectByMap(con);
//        if (seqCodeRuleList.size() > 0) {
//            SysCode seqCodeRule = seqCodeRuleList.get(0);
//            // 取当前时间并按编码规则中的格式转化
//            String middleTimeValue = DateUtil.getStartardDatePattern(new Date(), seqCodeRule.getMiddle());
//            // 得到后缀数值并补齐位数 (通过lpad 左填充方法)
//            String endValue = StringUtil.lpad(String.valueOf(seqCodeRule.getCurrentValue()),
//                    String.valueOf(seqCodeRule.getMaximum()).length(), "0");
//            String outCode = seqCodeRule.getPrefix() + middleTimeValue + endValue;
//            // 更新currentValue
//            if (seqCodeRule.getCurrentValue() + seqCodeRule.getGrowthValue() >= seqCodeRule.getMaximum()) {
//                seqCodeRule.setCurrentValue(seqCodeRule.getSuffixValue());// 如果当前值加增长值大于最大值,则重置为后缀初始值
//            } else {
//                seqCodeRule.setCurrentValue(seqCodeRule.getCurrentValue() + seqCodeRule.getGrowthValue());
//            }
//            sysCodeMapper.updateById(seqCodeRule);
//            return outCode;
//        }
        return null;
    }

    @Override
    public List<String> getSysCodeList(String type, Integer size) {
        return Collections.emptyList();
    }

}
